home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD001b.dsk / DOS.COMMAND.CHANGER.bas < prev    next >
BASIC Source File  |  2003-06-12  |  4KB  |  113 lines

  1. 2  REM  DOS COMMAND CHANGER
  2. 3  REM  BY DAN TOBIAS   9/29/81
  3. 4 BS$ = "BSAVE"
  4. 5 D$ =  CHR$(4)
  5. 7  GOSUB 3000
  6. 9  DIM J$(100):X = 1
  7. 10  IF TY = 0  THEN ST =  PEEK(978) *256 +2948:LN = 132:NW = 28
  8. 12  IF TY = 1  THEN ST =  PEEK(978) *256 +3188:LN = 202:NW = 14
  9. 13 AD = ST
  10. 15 A$ = ""
  11. 17  IF X >NW  THEN 55
  12. 20 I =  PEEK(AD)
  13. 25 AD = AD +1
  14. 26 II = I: IF II >127  THEN II = II -128
  15. 27 A$ = A$ + CHR$(II)
  16. 30  IF I >127  THEN 100
  17. 50  IF AD <ST +LN  THEN 20
  18. 55  PRINT : PRINT 
  19. 60  PRINT "THAT'S ALL."
  20. 70  GOTO 2000
  21. 100  REM  LIST WORD
  22. 105  IF X = 25  AND T = 0  THEN BS$ = A$
  23. 110  PRINT A$
  24. 112  GET J$
  25. 117  IF J$ =  CHR$(27)  THEN 1000
  26. 119 J$(X) = A$:X = X +1
  27. 130 L = L + LEN(A$): IF L >LN -(NW -(X -1))  THEN X = X -1:L = L - LEN(A$): PRINT "TOO LONG!<CTRL-G>": GOTO 1000
  28. 190  GOTO 15
  29. 1000  REM  CHANGE
  30. 1010  PRINT 
  31. 1020  PRINT "CHANGE "A$" TO: ";
  32. 1030  GOSUB 4000
  33. 1032  IF TY = 1  AND  LEN(B$) < LEN(A$)  THEN B$ = B$ + LEFT$("                        ", LEN(A$) - LEN(B$))
  34. 1035 L = L + LEN(B$): IF L >LN -(NW -X)  THEN  PRINT "TOO LONG!<CTRL-G>":L = L - LEN(B$): GOTO 1000
  35. 1040  IF TY = 0  AND X = 25  THEN BS$ = B$
  36. 1045 J$(X) = B$:X = X +1: GOTO 15
  37. 1100  REM  POKE IN NEW VALUES
  38. 1105 AD = ST
  39. 1110  FOR A = 1 TO X -1
  40. 1115  IF  LEN(J$(A)) = 1  THEN 1150
  41. 1120  FOR B = 1 TO  LEN(J$(A)) -1
  42. 1130  POKE AD, ASC( MID$ (J$(A),B,1))
  43. 1135 AD = AD +1
  44. 1140  NEXT B
  45. 1150  POKE AD, ASC( RIGHT$(J$(A),1)) +128:AD = AD +1
  46. 1160  NEXT A
  47. 1170  RETURN 
  48. 2000  REM  END
  49. 2005  GOSUB 1100
  50. 2010  PRINT : PRINT "DO YOU WANT TO SAVE THESE ALTERED       TOKENS TO DISK? (Y/N)";
  51. 2020  INPUT "";I$
  52. 2030  IF  LEFT$(I$,1) = "N"  THEN  END 
  53. 2035  PRINT 
  54. 2040  INPUT "FILE NAME: ";N$
  55. 2042  PRINT 
  56. 2045  IF TY = 1  THEN  INPUT "IF YOU HAVE CHANGED YOUR 'BSAVE'        COMMAND, WHAT IS IT NOW? ";B$: IF B$ < >""  THEN BS$ = B$
  57. 2050  PRINT D$;BS$;N$;",A"ST",L"LN
  58. 2052  PRINT 
  59. 2055  PRINT "TO RETREIVE, TYPE 'BLOAD "N$"'."
  60. 2057  PRINT "YOUR DOS COMMANDS ARE NOW CHANGED."
  61. 2060  END 
  62. 3000  REM  INSTRUCTIONS
  63. 3005  TEXT : HOME : NORMAL 
  64. 3010  PRINT 
  65. 3020  HTAB 6: PRINT "*** DOS COMMAND CHANGER ***"
  66. 3025  HTAB 11
  67. 3030  PRINT "BY DANIEL TOBIAS"
  68. 3040  PRINT "ALLOWS YOU TO CHANGE 'TOKEN' WORDS"
  69. 3045  PRINT "(COMMANDS AND ERROR MESSAGES)"
  70. 3050  PRINT "IN APPLE DOS 3.3."
  71. 3070  PRINT 
  72. 3080  PRINT "TOKEN WORDS WILL APPEAR ONE BY ONE."
  73. 3090  PRINT "IF YOU WANT TO CHANGE THE COMMAND OR"
  74. 3100  PRINT "ERROR MESSAGE SHOWING, HIT THE KEY"
  75. 3110  PRINT "MARKED 'ESC'. IF YOU DO NOT WANT TO"
  76. 3120  PRINT "CHANGE IT, HIT ANY OTHER KEY."
  77. 3150  PRINT 
  78. 3155  INPUT "HIT RETURN TO CONTINUE. ";I$: HOME : PRINT 
  79. 3160  PRINT "THE NEW COMMANDS MUST FIT IN WHERE THE  OLD ONES WERE IN MEMORY, SO IF YOU MAKE A NEW COMMAND LONGER IN LENGTH THAN AN"
  80. 3170  PRINT "OLD ONE YOU MUST MAKE ANOTHER ONE       SHORTER.  YOU WILL GET THE MESSAGE      'TOO LONG!' IF THERE IS NO ROOM TO FIT  THE COMMAND YOU TYPED.  YOU MUST THEN"
  81. 3180  PRINT "TYPE A SHORTER WORD."
  82. 3182  PRINT 
  83. 3185  PRINT "NOTE: ERROR MESSAGES ARE STORED SLIGHTLYDIFFERENTLY, AND A REPLACEMENT MESSAGE  MUST BE THE SAME LENGTH AS THE ORIGINAL.THIS PROGRAM WILL PAD IT WITH BLANKS IF NECESSARY."
  84. 3190  PRINT 
  85. 3192  PRINT "SPACES WITHIN COMMANDS ARE NOT ALLOWED, BUT THEY ARE ALLOWED IN ERROR MESSAGES.": PRINT 
  86. 3195  INPUT "WHICH DO YOU WANT TO CHANGE: COMMANDS   OR ERROR MESSAGES? ";I$
  87. 3197  PRINT : IF  LEFT$(I$,1) = "C"  THEN TY = 0: GOTO 3200
  88. 3198  IF  LEFT$(I$,1) = "E"  THEN TY = 1: GOTO 3200
  89. 3199  GOTO 3195
  90. 3200  PRINT "HERE IS THE FIRST ONE..."
  91. 3210  PRINT "****************************************";
  92. 3220  RETURN 
  93. 4000  REM  INPUT
  94. 4010 B$ = ""
  95. 4015  IF  LEFT$(A$,1) =  CHR$(0)  THEN B$ =  CHR$(0)
  96. 4020  GET J$
  97. 4045  IF J$ =  CHR$(8)  THEN  GOSUB 4200: GOTO 4020
  98. 4047  IF J$ =  CHR$(13)  AND B$ = ""  THEN  PRINT "<CTRL-G>";: GOTO 4020
  99. 4048  IF TY = 1  AND  LEN(B$) > =  LEN(A$)  AND J$ < > CHR$(13)  THEN  PRINT "<CTRL-G>";: GOTO 4020
  100. 4049  IF TY = 0  AND J$ = " "  THEN 4020
  101. 4050  PRINT J$;
  102. 4055  IF J$ =  CHR$(13)  AND B$ = ""  THEN  PRINT "<CTRL-G>": GOTO 4020
  103. 4060  IF J$ =  CHR$(13)  THEN  RETURN 
  104. 4070  IF  ASC(J$) <32  THEN  INVERSE : PRINT  CHR$( ASC(J$) +64);: NORMAL 
  105. 4100 B$ = B$ +J$
  106. 4110  GOTO 4020
  107. 4200  REM  BS
  108. 4220  IF  LEN(B$) = 0  THEN  RETURN 
  109. 4222  IF B$ =  CHR$(0)  THEN  RETURN 
  110. 4225  PRINT  CHR$(8);: CALL  -868
  111. 4230  IF  LEN(B$) = 1  THEN B$ = "": RETURN 
  112. 4240 B$ =  LEFT$(B$, LEN(B$) -1)
  113. 4250  RETURN